#include <at89c51RC2.h>
#include <Delay.h>

/**
  * @brief 74CH595写入八位数据
  * @param Byte 要写入的数据
  * @retval 无
  */
void _74HC595_WriteByte(unsigned char Byte) //写入数据
{
	unsigned char i;
	for(i=0;i<8;i++)
	{
		P3_4=Byte&(0x80>>i);   //依次取Byte各位值赋给SER
		P3_6=1;                //一横SRCLR,实现数据下行
		P3_6=0;
	}
	P3_5=1;        //SRCLK,实现输出
	P3_5=0;
}


/**
  * @brief LED点阵屏显示一列数据
	* @param Column 要选择的列，范围0~7，0为最左列
	* @param Data 选择列显示数据，高位在上，1为亮，0为灭
  * @retval 
  */
void MatrixLED_ShowColumn(unsigned char Column,Data)  //选中行,列
{
	_74HC595_WriteByte(Data);
	P0=~(0x80>>Column);
	Delay(1);
	P0=0xFF;
}